-- Lua Battle System - 日志工具

local Logger = {
    level = "info", -- 日志级别：debug, info, warn, error
    levels = {
        debug = 1,
        info = 2,
        warn = 3,
        error = 4
    }
}

-- 初始化日志
function Logger.init(config)
    if config and config.level then
        Logger.level = config.level
    end
    Logger.info("日志系统初始化完成")
end

-- 检查日志级别
function Logger._should_log(level)
    return Logger.levels[level] >= Logger.levels[Logger.level]
end

-- 格式化日志消息
function Logger._format_message(level, message)
    local timestamp = os.date("%Y-%m-%d %H:%M:%S")
    return string.format("[%s] [%s] %s", timestamp, string.upper(level), message)
end

-- 输出日志
function Logger._output(level, message)
    local formatted_message = Logger._format_message(level, message)
    if level == "error" then
        io.stderr:write(formatted_message .. "\n")
    else
        print(formatted_message)
    end
end

-- 调试日志
function Logger.debug(message)
    if Logger._should_log("debug") then
        Logger._output("debug", message)
    end
end

-- 信息日志
function Logger.info(message)
    if Logger._should_log("info") then
        Logger._output("info", message)
    end
end

-- 警告日志
function Logger.warn(message)
    if Logger._should_log("warn") then
        Logger._output("warn", message)
    end
end

-- 错误日志
function Logger.error(message)
    if Logger._should_log("error") then
        Logger._output("error", message)
    end
end

-- 导出模块
return Logger